package com.sunther.document.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sunther.document.util.SetTypeHandler;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.Set;

/**
 * @author csb
 * @description: TODO
 * @date 2023/5/16 10:07
 */
@TableName(value = "document_project_v1",autoResultMap = true)
public class ProjectEntity extends BaseEntity{

    @TableId
    private String id;

    private String name;

    private String unitName;

    @TableField(exist = false,typeHandler = SetTypeHandler.class)
    private Set<Integer> projectHead;

    @TableField(exist = false)
    private String projectHeadText;

    @TableField(exist = false,typeHandler = SetTypeHandler.class)
    private Set<Integer> projectParticipants;

    @TableField(exist = false)
    private String projectParticipantsText;

    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date startTime;

    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date endTime;

    private String systemId;

    @TableField(exist = false)
    private String systemText;

    private String mark;

    private Integer state;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public Set<Integer> getProjectHead() {
        return projectHead;
    }

    public void setProjectHead(Set<Integer> projectHead) {
        this.projectHead = projectHead;
    }

    public Set<Integer> getProjectParticipants() {
        return projectParticipants;
    }

    public void setProjectParticipants(Set<Integer> projectParticipants) {
        this.projectParticipants = projectParticipants;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getSystemId() {
        return systemId;
    }

    public void setSystemId(String systemId) {
        this.systemId = systemId;
    }

    public String getMark() {
        return mark;
    }

    public void setMark(String mark) {
        this.mark = mark;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getSystemText() {
        return systemText;
    }

    public void setSystemText(String systemText) {
        this.systemText = systemText;
    }

    public String getProjectHeadText() {
        return projectHeadText;
    }

    public void setProjectHeadText(String projectHeadText) {
        this.projectHeadText = projectHeadText;
    }

    public String getProjectParticipantsText() {
        return projectParticipantsText;
    }

    public void setProjectParticipantsText(String projectParticipantsText) {
        this.projectParticipantsText = projectParticipantsText;
    }
}
